1. Field of the Invention
The present invention relates to disk drives for computer systems. More particularly, the present invention relates to a disk drive employing field calibration based on marginal sectors.
2. Description of the Prior Art
The zone parameters of a disk drive are typically calibrated during manufacturing and stored in a reserved track on the disk. During spin up, the calibrated parameters are read from the reserved track, stored in volatile semiconductor memory, and used to program the disk drive relative to the radial position of head during read and write operations. The prior art has suggested to recalibrate the zone parameters periodically throughout the life of the disk drive to compensate for changes that occur over time. However, the prior art""s approach of recalibrating all of the zone parameters on a periodic interval may not result in optimal performance.
There is, therefore, the need for a disk drive employing an improved algorithm for recalibrating the zone parameters in the field to compensate for changes that occur over time due, for example, to changes in environmental conditions.
The present invention may be regarded as a disk drive comprising a disk comprising a plurality of tracks, each track comprising a plurality of data sectors, the tracks banded together to form a plurality of zones. The disk drive further comprises a head actuated radially over the disk for writing data to and reading data from the data sectors, and a buffer for storing zone parameters for each of the plurality of zones. The disk drive further comprises an error list for storing entries which identify read errors, and a disk controller for operating in a plurality of states including an active state and an off-line state. During the active state, the disk controller receives a read command from a host computer to read data from at least one of the data sectors. The disk controller seeks the head to a selected one of the zones comprising the data sector corresponding to the read command, programs the disk drive with the zone parameters corresponding to the selected zone, and reads data from the data sector. If a read error associated with reading data from the data sector is detected, the disk controller stores an entry in the error list corresponding to the selected zone. During the off-line state, the disk controller processes the error list to calibrate at least one of the zone parameters.
In one embodiment the disk drive employs an on-the-fly error correction code (ECC), and the read error is detected when the ECC indicates a data sector is unrecoverable on-the-fly. In another embodiment, the disk drive employs an on-the-fly error correction code (ECC) as well as a plurality of data-recovery firmware procedures for recovering data stored in a data sector when the ECC indicates a data sector is unrecoverable on-the-fly, wherein a read error is detected relative to which data-recovery firmware procedure successfully recovers the data sector. In yet another embodiment, the disk drive further comprises read channel circuitry for reading data from the data sectors, a first set of the data-recovery firmware procedures correlate highly with a disk error, a second set of the data-recovery firmware procedures correlate highly with a read channel error, and the read error is detected when a data-recovery firmware procedure in the second set is successful in recovering data from a data sector. In still another embodiment, the at least one calibrated zone parameter is selected relative to which data-recovery firmware procedure successfully recovers the data sector.
The present invention may also be regarded as a method of calibrating a zone parameter of a disk drive in the field, the disk drive comprising a disk comprising a plurality of tracks, each track comprising a plurality of data sectors, the tracks banded together to form a plurality of zones. The method comprises the steps of actuating a head radially over the disk for writing data to and reading data from the data sectors, storing zone parameters in a buffer for each of the plurality of zones, and storing entries in an error list that identify read errors. During an active state of the disk drive, the head is positioned over a selected one of the zones comprising a data sector corresponding to a read command. The disk drive is programmed with the zone parameters corresponding to the selected zone. Data is read from the data sector, and if a read error is detected associated with reading data from the data sector, an entry is stored in the error list corresponding to the selected zone. During an off-line state of the disk drive, the error list is processed to calibrate at least one of the zone parameters.